Service dependency associate fails with service not found, but service exists

I am trying to associate the supporting services to their dependent services using the api. For some supporting services I get error 404 with error code 2100 (Not Found)
the error that I get is

{"error":{"code":2100,"errors":["Business/Technical Service not found or lack permissions against"],"message":"Not Found"}}

The request that I make looks like,

curl --request POST \
  --url https://api.pagerduty.com/service_dependencies/associate \
  --header 'Accept: application/vnd.pagerduty+json;version=2' \
  --header 'Authorization: Token token=XXXMASKED_TOKENXXX' \
  --header 'Content-Type: application/json' \
  --data '{
  "relationships": [
    {
      "supporting_service": {
        "id": "XXXMASKED_IDXXX",
        "type": "technical_service_reference"
      },
      "dependent_service": {
        "id": "XXXMASKED_IDXXX",
        "type": "technical_service_reference"
      }
    }
  ]
}'

I am able to add some dependencies but not all. Can some guide me to what am I doing wrong?

Assuming the services exist, do you have the right user role to create the dependency involving those services?